<?php

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

namespace Application\Model\Entity;

use Zend\Db\ResultSet\ResultSet;
use Zend\Db\Adapter\Adapter;
use Zend\Db\Sql\Sql;

class Login {

    private $dbAdapter;
    private $user;
    private $pass;
    private $id_usuario;
    private $rol;
    private $dbpass;
    private $post;
    

    /* el modelo recibe: usuario contrasena adaptador */

    public function __construct($post,$dbAdapter) {
        
        $this->dbAdapter = $dbAdapter;
        $this->user = $post['nombre'];
        //$this->pass = $post['passwd'];
        //self::getIdUsuario();
        //self::getPass();
    }
    /* obtener id_usuario */

    public function getIdUsuario() {
        $q = "select id_usuario from usuarios where  nick = '$this->user'";
        $c = $this->dbAdapter->query($q, Adapter::QUERY_MODE_EXECUTE);
        $r = $c->toArray();        
        $this->id_usuario = $r[0]['id_usuario'];
        return ($this->id_usuario);
    }

    /* obtener rol del usuario */

    public function getRolUsuario() {
        /* se supone que no existe mas de un rol y se obvia el rol de administrador */
        $q = 'SELECT id_roles FROM rol_por_usuario '
                . 'WHERE  id_usuario =' . $this->id_usuario . "AND id_roles <> 10";
        $rol = $this->dbAdapter->query($q, Adapter::QUERY_MODE_EXECUTE);
        $r = $rol->toArray();
        $this->rol = $r[0]['id_roles'];
        return ($this->rol);
    }
    /* obtener usuario para realizar autenticacion */

    private function getPass() {
        $q = "SELECT contrasenha FROM usuarios WHERE  nick ='$this->user'";
        $c = $this->dbAdapter->query($q, Adapter::QUERY_MODE_EXECUTE);
        $r = $c->toArray();
        $this->dbpass = $r[0]['contrasenha'];
    }
    
    public function autenticar() {
        /* return true o false */
        return $this->id_usuario;
        
    }

    /* crear nuevo usuario */

    public function setUsuario() {
        /* cuando se crea un nuevo usuario tener en cuenta que el nombre(nick) 
         * no se repitas
         */
    }

}
